/*
 * @Description: 
 * @Author: changqing
 * @Date: 2021-08-29 22:24:44
 * @LastEditTime: 2021-08-29 22:26:08
 * @LastEditors: changqing
 * @Usage: 
 */
// partition则是将Observable按照规则拆成两个Observable，需要两个参数:

// source： 来源 Observable
// predicate：拆分的条件，是一个function，每次事件发生都会将数据发送给这个function，判断符合条件会被归到一个observable，不符合条件的则被归到别一个Observable


var { partition,of,timer, interval } = require('rxjs');
var { map,take} = require('rxjs/operators');
const source = of(1, 2, 3, 4, 5, 6);

const [sourceEven, sourceOdd] = partition(
source,
(data) => data % 2 === 0
);

sourceEven.subscribe((data) =>
console.log(`partition 示范 (偶数): ${data}`)
);
sourceOdd.subscribe((data) =>
console.log(`partition 示范 (奇数): ${data}`)
);



/*
partition 示例 (偶数): 2
partition 示例 (偶数): 4
partition 示例 (偶数): 6
partition 示例 (奇数): 1
partition 示例 (奇数): 3
partition 示例 (奇数): 5
*/